package com.example.xunwuproject.service.house;

import com.example.xunwuproject.entity.SupportAddress;
import com.example.xunwuproject.service.ServiceMultiResult;
import com.example.xunwuproject.service.ServiceResult;
import com.example.xunwuproject.web.dto.SubwayDTO;
import com.example.xunwuproject.web.dto.SubwayStationDTO;
import com.example.xunwuproject.web.dto.SupportAddressDTO;

import java.util.List;
import java.util.Map;

/**
 * @author ：Anitaxiaofeng
 * @description：
 * @create 2019-03-11
 **/
public interface IAddressService {
    ServiceMultiResult<SupportAddressDTO> findAllCities();
    /**
     * 根据英文简写获取具体区域的信息
     * @param cityEnName
     * @param regionEnName
     * @return
     */
    Map<SupportAddress.Level, SupportAddressDTO> findCityAndRegion(String cityEnName, String regionEnName);

    /**
     * 根据城市英文简写获取该城市所有支持的区域信息
     * @param cityName
     * @return
     */
    ServiceMultiResult findAllRegionsByCityName(String cityName);

    /**
     * 获取该城市所有的地铁线路
     * @param cityEnName
     * @return
     */
    List<SubwayDTO> findAllSubwayByCity(String cityEnName);

    /**
     * 获取地铁线路所有的站点
     * @param subwayId
     * @return
     */
    List<SubwayStationDTO> findAllStationBySubway(Long subwayId);

    ServiceResult<SubwayDTO> findSubway(Long subwayLineId);

    ServiceResult<SubwayStationDTO> findSubwayStation(Long subwayStationId);

    ServiceResult<SupportAddressDTO> findCity(String cityEnName);
}


